Targeting Infeasibility Questions on Obfuscated Codes

نویسندگان

  • Robin David
  • Sébastien Bardin
  • Jean-Yves Marion
چکیده

Software deobfuscation is a crucial activity in security analysis and especially, in malware analysis. While standard static and dynamic approaches suffer from well-known shortcomings, Dynamic Symbolic Execution (DSE) has recently been proposed has an interesting alternative, more robust than static analysis and more complete than dynamic analysis. Yet, DSE addresses certain kinds of questions encountered by a reverser namely feasibility questions. Many issues arising during reverse, e.g. detecting protection schemes such as opaque predicates fall into the category of infeasibility questions. In this article, we present the Backward-Bounded DSE, a generic, precise, efficient and robust method for solving infeasibility questions. We demonstrate the benefit of the method for opaque predicates and call stack tampering, and give some insight for its usage for some other protection schemes. Especially, the technique has successfully been used on state-of-the-art packers as well as on the government-grade X-Tunnel malware – allowing its entire deobfuscation. Backward-Bounded DSE does not supersede existing DSE approaches, but rather complements them by addressing infeasibility questions in a scalable and precise manner. Following this line, we propose sparse disassembly, a combination of Backward-Bounded DSE and static disassembly able to enlarge dynamic disassembly in a guaranteed way, hence getting the best of dynamic and static disassembly. This work paves the way for robust, efficient and precise disassembly tools for heavily-obfuscated binaries.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Automatic Detection for JavaScript Obfuscation Attacks in Web Pages through String Pattern Analysis

Recently, most of malicious web pages include obfuscated codes in order to circumvent the detection of signature-based detection systems .It is difficult to decide whether the sting is obfuscated because the shape of obfuscated strings are changed continuously. In this paper, we propose a novel methodology that can detect obfuscated strings in the malicious web pages. We extracted three metrics...

متن کامل

Exploring Infeasibility for Abstraction-Based Heuristics

Infeasible heuristics are heuristic values that cannot be the optimal solution cost. Detecting infeasibility is a useful technique (Yang et al. 2008) to improve the quality of heuristics because it allows the heuristic value to be increased without risking it becoming inadmissible. However, extra memory is required when applying this technique. Is checking for infeasibility the best way to use ...

متن کامل

Exact duals and short certificates of infeasibility and weak infeasibility in conic linear programming

We describe simple and exact duals, and certificates of infeasibility and weak infeasibility in conic linear programming which do not rely on any constraint qualification, and retain most of the simplicity of the Lagrange dual. In particular, some of our infeasibility certificates generalize the row echelon form of a linear system of equations, and the “easy” proofs – as sufficiency of a certif...

متن کامل

JConstHide: A Framework for Java Source Code Constant Hiding

Software obfuscation or obscuring a software is an approach to defeat the practice of reverse engineering a software for using its functionality illegally in the development of another software. Java applications are more amenable to reverse engineering and re-engineering attacks through methods such as decompilation because Java class files store the program in a semi complied form called 'byt...

متن کامل

A Method for Solving Super-Efficiency Infeasibility by Adding virtual DMUs with Mean Values

Using super-efficiency, with regard to ranking efficient units, is increasing in DEA. However, this model has some problems such as the infeasibility. Thus, this article studies infeasibility of the input-based super-efficiency model (because of the zero inputs and outputs), and presents a solution by adding two virtual DMUs with mean values (one for inputs and one for outputs). Adding virtual ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:
  • CoRR

دوره abs/1612.05675  شماره 

صفحات  -

تاریخ انتشار 2016